package com.openecommerce.api.service;

import com.openecommerce.api.domain.Order;
import com.openecommerce.api.domain.OrderQueryEntity;
import com.openecommerce.api.domain.basic.Page;

/**
 * 订单操作接口
 * @author Tommy
 *
 */
public interface OrderService {
	

	/**
	 * 订单查询列表
	 * @param data
	 * @param currentPage   <1默认为第一页
	 * @param onePageCount  <1默认一页显示10行
	 * @return
	 */
	public Page<Order> getList(OrderQueryEntity data,int currentPage,int onePageCount);
	
	/**
	 * 通过订单号查找订单
	 * @param orderId
	 * @return
	 */
	public Order get(Long orderId);
	
	/**
	 * 取消订单
	 * @param orderId
	 * @return
	 */
	public boolean cancel(Long orderId);
	
	/**
	 * 挂起订单
	 * @param orderId
	 * @return
	 */
	public boolean hold(Long orderId);
	/**
	 * 解除挂起
	 * @param orderId
	 * @return
	 */
	public boolean unhold(Long orderId);
	/**
	 * 添加注释
	 * @param orderId
	 * @param status
	 * @param comment
	 * @param customerNoteNotify
	 * @return
	 */
	public boolean addComment(Long orderId,Short status,String comment,Short customerNoteNotify);
}
